import torch
from config import Config
from data_loader import DataLoader

# 创建配置和数据加载器
config = Config()
data_loader = DataLoader(config)

print("=== 数据加载调试 ===")
print(f"配置的批次大小: {config.BATCH_SIZE}")
print(f"配置的序列长度: {config.SEQ_LEN}")

# 测试批次数据加载
print("\n=== 测试 load_batch_data ===")
batch_data = data_loader.load_batch_data(batch_idx=0)
print(f"load_batch_data 返回形状: {batch_data.shape}")
print(f"预期形状应该是: (batch_size, channels, time_steps) = ({config.BATCH_SIZE}, 128, {config.SEQ_LEN})")

# 测试序列数据加载
print("\n=== 测试 load_sequence_data ===")
seq_data = data_loader.load_sequence_data(start_idx=1)
print(f"load_sequence_data 返回形状: {seq_data.shape}")
print(f"预期形状应该是: (1, 128, {config.SEQ_LEN})")

# 分析问题
print("\n=== 问题分析 ===")
print("当前实现的问题:")
print("1. load_batch_data 将多个文件串联成时间序列，而不是批次")
print("2. 返回的第一个维度始终是1，而不是batch_size")
print("3. 第三个维度是文件数量，被误认为是时间步")

print("\n正确的实现应该:")
print("1. load_batch_data 返回 (batch_size, 128, seq_len)")
print("2. 每个样本是一个时间序列，包含seq_len个时间步")
print("3. 每个时间步是一个8x8复数矩阵（128维特征）") 